1. Field of the Invention
The present invention relates to the field of consumer electronic devices. More specifically, the present invention relates to methods and systems for providing user interfaces for networked electronic devices including remote devices.
2. Related Art
The typical home entertainment system today consists of a variety of different consumer electronic devices which present and record audio/visual media in different ways. In the field of media devices, there is a spectrum of features for products of a given class (VCRs, video camera, etc.). Most of the features are represented by physical controls or elements on a control panel on the device which can be manipulated by a human user.
Recently, a class of consumer electronic media devices has been introduced that can be networked together using a standard communication protocol layer (e.g., IEEE 1394 communication standard). The IEEE 1394 standard is an international standard for implementing an inexpensive high-speed serial bus architecture which supports both asynchronous and isochronous format data transfers. The IEEE 1394 standard provides a high-speed serial bus for interconnecting digital devices thereby providing universal input/output connection. The IEEE 1394 standard defines a digital interface for applications thereby eliminating the need for an application to covert digital data to an analog form before it is transmitted across the bus. Correspondingly, a receiving application will receive digital data from the bus, not always analog data and will therefore not be required to convert analog data to digital form. The IEEE 1394 is ideal for consumer electronics communication in part because devices can be added to or removed from the serial bus while the bus is active. If a device is so added or removed, the bus automatically reconfigures itself for transmitting data between the then existing devices. Each device on the bus is a xe2x80x9cnodexe2x80x9d and contains its own address space.
The provision of the IEEE 1394 serial communication bus for networking consumer electronic devices has introduced a powerful new platform on which device functionality and inter-operability can be built. For instance, in such a system, complex operations involving media transfers, media recordings and media presentation can be performed that involve two or more devices acting in concert. However, interaction between these devices can be complex, error prone and laborious if it is required that each device be directly touched in order to properly configure the desired operation. The problems associated with properly configuring the media operation can be exacerbated if one or more of the devices are remotely located and/or need constant attention and or adjustment. What is needed is an effective mechanism for interfacing with networked consumer electronic devices to facilitate media operations between two or more devices.
In addition, it is often desired to provide remote control access to the features performed by a consumer electronic device so that these devices can be accessed from a central location within a home or office. However, not all consumer electronic devices are able to provide a sophisticated display system for remote interaction, e.g., some devices offer only a small liquid crystal display (LCD) or a small collection of light emitting diodes (LEDs) as display devices. What is needed is a mechanism for interfacing remotely with devices that provides a sophisticated level of user interaction for many devices. Also, in many consumer electronic systems, each device can have its own remote control unit. In systems having even a modest amount of devices, the user discovers that three or more different and bulky remote control devices are required to perform media operations. What is needed is a mechanism for interfacing with electronic devices that reduces the problems of having different remote control units for different devices. What is needed further is a mechanism for interfacing with electronic devices that is flexible and can adapt to new devices and device types within the consumer electronics market.
In co-pending U.S. patent application Ser. No., 09/108,265, entitled xe2x80x9cA METHOD AND SYSTEM FOR PROVIDING A USER INTERFACE FOR A NETWORKED DEVICE USING PANEL SUBUNIT DESCRIPTORxe2x80x9d, a method and system is disclosed for providing an effective mechanism for interfacing with networked consumer electronic devices using panel subunit. However, the methods and systems described therein require users to use the panel subunit on-screen display (OSD) and do not provide a mechanism that allows users to control the target devices via other control means. Further, the methods and systems described therein do not provide a mechanism for communicating focus navigation commands to the target device.
Accordingly, what is needed is an effective mechanism for interfacing with networked consumer electronic devices that overcomes the aforementioned limitations. What is further needed is a mechanism for controlling target devices that does not require the users to use the panel subunit OSD for communicating commands to target devices. What is also needed is a mechanism for communicating focus navigation commands to target devices.
The present invention provides a command pass-through mechanism for panel subunit. By using the command pass-through mechanisms of the present invention, cumbersome control and manipulation of the user interface of the panel subunit can be avoided. In addition, according to an embodiment of the present invention, commands that are not represented as control objects on the panel subunit on-screen display (OSD) can be easily communicated to the target device. Furthermore, focus navigation commands can also be passed to the target device. In this way, more advanced GUIs can be created. A more seamless and intuitive operation of the target device can also be achieved. These and other advantages of the present invention not specifically mentioned above will become clear within discussions of the present invention presented herein.
Embodiments of the present invention are implemented within a network of electronic devices that utilize a panel subunit to allow any compliant device (e.g., a target device) to describe the physical appearance of its controls and displays (e.g., elements) to another device (e.g., an intelligent controller) and allows the intelligent controller to trigger actions on the target device as if a user had physically manipulated the controls on the target device directly. An intelligent controller (e.g., a TV or set-top-box or both) monitors the network to discover the units coupled thereto and is programmed to locate panel subunits that are defined for a target device. The target device may be remotely located.
In general, the panel subunit then provides the intelligent controller with information for rendering a depiction of the controls and displays of the target device and this depiction can be interacted with by a user for remotely triggering actions by the target device. The panel subunit is defined such that command interpretations and image alterations are controlled by the target device thereby reducing the responsibility of the intelligent controller in managing the user interface with generic user events.
The panel subunit uses control objects stored in an object descriptor list to define the physical controls of the target device. The control objects are defined with several standard types of controls and displays (e.g., push buttons, sliders, dials, LCD screens, etc.) that are commonly found on consumer electronic devices. The control types have well defined behaviors (e.g., buttons are pushed, dials are moved, values are input, etc.). In addition, the panel subunit defines a set of commands which are to be applied to any of these controls when selected by the user. The commands are defined to be sufficiently generic so that they apply to most types of controls. The panel subunit also defines generic user interaction commands (or user events) which can be applied to the controls (e.g., press, press and hold, release, input value, etc.) by a user.
According to one embodiment of the present invention, the panel subunit is configured for receiving a PASS-THROUGH command code in addition to the user interaction commands (e.g., press, press and hold, release, etc.). Particularly, the PASS-THROUGH command code is not associated with any control object that may or may not be displayed on the screen of the controller. Rather, the PASS-THROUGH command code is communicated to the target device in conjunction with an action identifier that indicates a pre-defined user operation. The target device, upon receiving the PASS-THROUGH command code and the associated action identifier, maps the action identifier to a pre-defined target command. Significantly, because the PASS-THROUGH command codes are not associated with any particular control objects, special commands (e.g., commands that are not represented by control objects on the panel subunit user interface) may be communicated to the target. In this way, additional control flexibility is provided to the panel subunit. Further, command pass-through is also useful for communicating commands from specialized keys associated with the controller, such as dedicated remote control buttons (e.g., guide key, channel up, channel down, etc.).
Command pass-through can be used to communicate the focus navigation commands to the target. In one embodiment of the present invention, focus navigation commands (e.g., UP/DOWN/LEFT/RIGHT, etc.) are defined as user operations. Further, each focus navigation command is assigned an action identifier. When such command keys are pressed by the user, a PASS-THROUGH command code and the appropriate action identifier are communicated to the target device. The target device would then be able to update the user interface of the panel subunit accordingly. More particularly, the target device would be able to transfer an exact image of the user interface to the controller device to be displayed. By transferring an exact bitmap of what is to be displayed, the target device can guarantee that the display rendered by the controller will not be modified or altered. This is useful in cases where the display represents an electronic program guide (EPG) or other suitable display that should be displayed with a predetermined arrangement and should not be altered by the controller. This is also useful in cases where the controller does not have a robust processing capability and therefore merely displays the exact bitmap sent by the target.
More specifically, in a network of consumer electronic products, embodiments of the present invention include a method of communicating an commands between a target device and a controller device. The method includes the steps of: (1) retrieving an action list that indicates a list of functions that are supported by the target device and storing the action list within the controller device; (2) upon receiving a user control input that is not associated with any control objects of the panel subunit, determining whether the user control input is supported by the target device by examining the action list; and (3) provided the user control input is supported by the target device, the controller device translating the user control input into the action identifier and transmitting a pass-through command in conjunction with the action identifier to the target device.